package br.com.leopard.erp.gym.dao.cad;

import java.util.List;

import javax.ejb.LocalBean;
import javax.ejb.Stateless;

import br.com.leopard.erp.gym.mapeamento.cad.Estado;
import br.com.leopard.erp.gym.persistence.AbstractDAO;
import br.com.leopard.erp.gym.persistence.ParametroQueryBuilder;

@Stateless
@LocalBean
public class EstadoDAO extends AbstractDAO<Estado, Long> {

	public EstadoDAO() {
		super(Estado.class);
	}

	public List<Estado> getPorNomeEstado(String estado) {
		String query = "Estado.findByEstado";

		ParametroQueryBuilder builder = new ParametroQueryBuilder();
		builder.addParametro("estado", estado);

		return super.listNamedQuery(query, builder.getParametros());
	}

	public List<Estado> getNomeEstadoEID(String estado, Long idEstado) {
		String query = "Estado.findByEstadoEIDEstado";

		ParametroQueryBuilder builder = new ParametroQueryBuilder();
		builder.addParametro("estado", estado);
		builder.addParametro("idEstado", idEstado);

		return super.listNamedQuery(query, builder.getParametros());
	}

	public List<Estado> getPorSigla(String sigla) {
		String query = "Estado.findBySigla";

		ParametroQueryBuilder builder = new ParametroQueryBuilder();
		builder.addParametro("sigla", sigla);

		return super.listNamedQuery(query, builder.getParametros());
	}

	public List<Estado> getPorSiglaEIDEstado(String sigla, Long idEstado) {
		String query = "Estado.findBySiglaEIDEstado";

		ParametroQueryBuilder builder = new ParametroQueryBuilder();
		builder.addParametro("sigla", sigla);
		builder.addParametro("idEstado", idEstado);

		return super.listNamedQuery(query, builder.getParametros());
	}
}
